class Solution {
public:
    int lengthOfLongestSubstring(string a) {
        string res; // 返回数组
        string s;   // 中间比较数组
        for (int i = 0; i < a.size(); ++i) {
            if (s.find(a[i], 0) != string::npos) {
                i = i - s.size() + 1;
                // 如果找到了就说明有重复 有重复就先比较看看s和res谁大
                // 如果s更长就拷贝到res中
                // 然后让i = i-s.size()+1
                if (res.size() < s.size()) {
                    // 拷贝
                    res.swap(s);
                }
                s.clear();
            }
            s.push_back(a[i]);
        }
        if (res.size() < s.size()) {
            // 拷贝
            res.swap(s);
        }
       return res.size();
    }
};
